package com.codeforces.gym.g100184;

import java.math.BigInteger;
import java.util.Scanner;

public class F {

	static Scanner scanner = new Scanner(System.in);
	static BigInteger n, a, b, bcnn;
	static BigInteger ka, kb, kab, sum;
	static BigInteger MOD = new BigInteger("1000000007");
	static BigInteger two = new BigInteger("2");

	public static void main(String[] args) {
		n = scanner.nextBigInteger();
		
		a = scanner.nextBigInteger();
		b = scanner.nextBigInteger();
		
		ka = n.divide(a);
		if (n.mod(a).longValue() == 0) {
			ka = ka.subtract(BigInteger.ONE);
		}
		ka = ka.add(BigInteger.ONE).multiply(ka).divide(two);
//		System.out.println(ka);
		
		kb = n.divide(b);
		if (n.mod(b).longValue() == 0) {
			kb = kb.subtract(BigInteger.ONE);
		}
		kb = kb.add(BigInteger.ONE).multiply(kb).divide(two);
//		System.out.println(kb);
		
		BigInteger gcd = a.gcd(b);
		bcnn = a.multiply(b).divide(gcd);
		kab = n.divide(bcnn);
		if (n.mod(bcnn).longValue() == 0) {
			kab = kab.subtract(BigInteger.ONE);
		}
		kab = kab.add(BigInteger.ONE).multiply(kab).divide(two);
//		System.out.println(kab);
		
		sum = BigInteger.ZERO;
		sum = a.multiply(ka);
		sum = sum.add(b.multiply(kb));
		sum = sum.subtract(bcnn.multiply(kab));
		sum = sum.mod(MOD);
		System.out.println(sum);
	}


}
